package com.lfm.improve_;

public class Generic03 {
    public static void main(String[] args) {

        Person<String> lfm = new Person<>("lfm");
        lfm.t();
       /*
            理解:
            上面的Person类
            class Person<E> {
                String s;//E标识s的数据类型, 该数据类型在定义Person对象的时候指定，即在编译期间就确定E是什么类型

                public Person(String s) {
                    this.s = s;
                }

                public String f() {//返回类型使用E
                    return s;
                }
            }
        */

        Person<Integer> integerPerson = new Person<>(100);
        //与上面同理

    }
}


class Person<E> {
    E s;//E标识s的数据类型, 该数据类型在定义Person对象的时候指定，即在编译期间就确定E是什么类型


    public Person(E s) {
        this.s = s;
    }

    public E f() {//返回类型使用E
        return s;
    }
    public void t() {
        System.out.println(s.getClass());//s的运行类型
    }
}